package com.alipay.demo.trade.model.hb;

import java.util.List;

import org.apache.commons.lang.StringUtils;

import com.alipay.demo.trade.utils.Utils;
import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

public class TradeInfoAdapter implements JsonSerializer<List<TradeInfo>> {

    public JsonElement serialize(List tradeInfoList, java.lang.reflect.Type type,
            JsonSerializationContext jsonSerializationContext) {
        if (Utils.isListEmpty(tradeInfoList)) {
            return null;
        } else {
            TradeInfo tradeInfo = (TradeInfo) tradeInfoList.get(0);
            return (JsonElement) (tradeInfo instanceof PosTradeInfo
                    ? new JsonPrimitive(StringUtils.join(tradeInfoList, ""))
                    : jsonSerializationContext.serialize(tradeInfoList));
        }
    }
}
